package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
  集合的遍历
  Collection提供的方法
  Iteration iteration()
  该方法可以获取遍历当前集合元素的迭代器

  java.util.Iterator接口，迭代器接口，规定了遍历集合的相关操作。
  迭代器遍历的步骤:
  问->取->删  其中删除元素不是必要操作
 */
public class IteratorDemo {
    public static void main(String[] args) {
        Collection c = new ArrayList();
        c.add("one");
        c.add("#");
        c.add("two");
        c.add("#");
        c.add("three");
        c.add("#");
        c.add("four");
        c.add("#");
        c.add("five");
        System.out.println(c);

        Iterator it = c.iterator();
        while(it.hasNext()){//hasNext()方法判断是否有下一个:默认起始位置是第一个元素之前，所以判断是否有下一个就是从第一个开始判断
            String str= (String) it.next();
            if("#".equals(str)){
                //迭代器遍历过程中不能通过集合方法增删元素，否则会抛出异常(ConcurrentModificationException 并发修改异常)
                //c.remove(str);
                it.remove();
            }
            System.out.println(str);
        }
        System.out.println(c);

    }
}
